The present invention relates generally to data conversion and more particularly to the automatic generation of balancing logic for data conversion.
Data conversion involves converting data from a source system into a format that is suitable for use in a target system. Data conversion may involve multiple facets of conversion. Identifiers may need to be renamed, data may need to be stored in different data structures, and data may need to be stored in different file formats at the target system.
Data conversion is often performed by teams of conversion specialists. These teams examine the source system and the data stored therein. In addition, the conversion specialists examine the target system and the data stored at the target system. The data conversion specialists devise a plan to convert data in the source system into a format that is acceptable to the target system. This conversion may entail the use of computer programs that perform the data conversion. In particular, programs may be used to receive data from the source system and manipulate the data into a suitable format for use by the target system.
One of the drawbacks of current efforts at data conversion is that data conversion is very time consuming and cumbersome. Many of the inefficiencies are due to redundancies that are performed during the data conversion process. One such redundancy is found with balancing logic. The balancing logic seeks to xe2x80x9cbalancexe2x80x9d the data at the source system with the data at the target system to insure that conversion has been properly performed. For example, suppose that the data field in the source system is stored as a serial stream, but the corresponding data needs to be stored as an array of characters in the target system. The balancing logic compares the data in the source system with the corresponding data stored at the target system after conversion to ensure that the data was stored in the proper format for the target system. In other words, a check is made that data is xe2x80x9cbalanced.xe2x80x9d The comparison of data performed by the balancing logic may also be performed by the conversion logic to determine how to convert the data from a source system into a format that is accepted for the target system. Hence, there is redundancy between the balancing logic and the conversion logic.
The present invention provides the automatic generation of balancing logic based on conversion logic in a data conversion system. The automatic generation of the balancing logic eliminates the redundancy of effort required when the balancing logic and conversion logic are separately developed.
In one embodiment of the present invention, a script is provided for mapping data from the source system to the target system. The script may be especially designed for use by a data conversion system. The script is processed by a parser to generate computer program instructions. The computer program instructions perform the data conversion and balance the data.
In accordance with one aspect of the present invention, a method is performed in a data conversion system. The data conversion system converts data from a source system into an acceptable format for a target system. Pursuant to this method, computer program instructions are generated for conversion logic for converting the data into the converted data. Based on the conversion logic, computer programming instructions for balancing logic are generated. The balancing logic balances the data in the source system with the converted data in the target system to ensure that the converting has been properly performed by the conversion logic.
In accordance with another aspect of the present invention, a method converts original data used in a source data processing system into converted data for use in a target data processing system. The method is performed on a computer system, and the method employs a script that specifies how to convert the original data into the converted data. The script is parsed with a parser to generate both conversion logic for converting the original data into the converted data and balancing logic for ensuring that the conversion logic properly converts the original data into the converted data. The conversion logic and the balancing logic comprise computer instructions. The balancing logic is automatically generated by the parser based on the conversion logic.
In accordance with another aspect of the present invention, the data conversion system includes a storage and a processor. The storage holds a copy of a script for identifying how to convert data used in a source system into converted data for a target system. The storage also holds a parser for parsing the script to produce converting logic for converting the data used in the source system into the converted data and to produce balancing logic for confirming that the converting was properly performed. The processor executes both the script and the parser.
In accordance with another aspect of the present invention, the data conversion system is designed for converting data from a source system into an acceptable format for a target system.